//用verilog 描述一个可加、可减计数器，计数器有一个加减控制端up_down,高时，加法；低时，实现减法.输入数据为8位。
//制作者：FPGA研究者
//时间：2022年6月17日

module updowm_count(clk,a,load,up_down,rst_n,out);
       parameter WIDTH=8;
		 input clk,rst_n,up_down,load;
		 input [WIDTH-1:0] a;
		 output reg [WIDTH-1:0]out;
always@(posedge clk) begin
      if(!rst_n) begin
	     out<=0;
		 end
		 if(load) begin
		  out<=a;
		  end
		else if(up_down) begin
	       out<=out+1;
			end
		else 
	       out<=out-1;
	end
endmodule
	